package com.jctrip.hotel.source.model.elong.req.offline;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Builder;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @Author: zxy
 * @CreateTime: 2023-09-19 17:38
 * @Description:
 */
@Data
@Builder
@JsonInclude(JsonInclude.Include.NON_NULL)
public class ElongValidateReq {
    @JsonProperty("ArrivalDate")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date arrivalDate;

    @JsonProperty("DepartureDate")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date departureDate;

    @JsonProperty("EarliestArrivalTime")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date earliestArrivalTime;

    @JsonProperty("LatestArrivalTime")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date latestArrivalTime;

    @JsonProperty("HourRoomStartTime")
    private Date hourRoomStartTime;

    @JsonProperty("HourRoomEndTime")
    private Date hourRoomEndTime;

    @JsonProperty("HotelId")
    private String hotelId;

    @JsonProperty("RoomId")
    private String roomId;

    @JsonProperty("RoomTypeID")
    private String roomTypeID;

    @JsonProperty("RatePlanId")
    private Integer ratePlanId;

    @JsonProperty("TotalPrice")
    private BigDecimal totalPrice;

    @JsonProperty("NumberOfRooms")
    private Integer numberOfRooms;

    @JsonProperty("LittleMajiaId")
    private String littleMajiaId;

    @JsonProperty("GoodsUniqId")
    private String goodsUniqId;

    @JsonProperty("ChildAges")
    private List<Integer> childAges;

    @JsonProperty("NumberOfAdults")
    private Integer numberOfAdults;

    @JsonProperty("HotelCode")
    private String hotelCode;

    @JsonProperty("SupplierId")
    private String supplierId;

    @JsonProperty("SubSupplierId")
    private String subSupplierId;

    @JsonProperty("ShopperProductId")
    private String shopperProductId;

    @JsonProperty("CurrencyCode")
    private String currencyCode;
}
